#pragma once

typedef struct crout crout_t;

typedef struct crout_attr{
	unsigned long	stack_size;
	void*		share_stack;
} __attribute__ ((packed)) crout_attr_t;

int 	crout_create	( crout_t **pco, const crout_attr_t *attr, void *(*routine)(void*), void *arg );
void	crout_resume	( crout_t *co );
void	crout_yield	( crout_t *co );
void	crout_release	( crout_t *co );
void	crout_reset	( crout_t *co ); 
